#if !defined(__DVC_CMD_FRAME_H__)
#define __DVC_CMD_FRAME_H__

#include "dvc_common.h"

typedef enum dvc_cmd
{
    dvc_cmd_write_cfg0,          /* 写入配置寄存器第 0 组指令 */
    dvc_cmd_write_cfg1,          /* 写入配置寄存器第 1 组指令 */
    dvc_cmd_read_status0,        /* 读取状态寄存器第 0 组指令 */
    dvc_cmd_read_status1,        /* 读取状态寄存器第 1 组指令 */
    dvc_cmd_read_status2,        /* 读取状态寄存器第 2 组指令 */
    dvc_cmd_read_status3,        /* 读取状态寄存器第 3 组指令 */
    dvc_cmd_read_cfg0,           /* 读取配置寄存器第 0 组指令 */
    dvc_cmd_read_cfg1,           /* 读取配置寄存器第 1 组指令 */
    dvc_cmd_clear_cmd,           /* 清除指令 */
    dvc_cmd_sleep,               /* 休眠指令 */
    dvc_cmd_max = dvc_cmd_sleep, /* 最大值 */
} dvc_cmd_t;

uint8_t dvc_frame_read(dvc_t dvc, dvc_cmd_t cmd, uint8_t *buffer, uint8_t size);
uint8_t dvc_frame_write(dvc_t dvc, dvc_cmd_t cmd, uint8_t *buffer, uint8_t size);
uint8_t dvc_frame_read_check(dvc_t dvc, dvc_cmd_t cmd, uint8_t *buffer, uint8_t size);
uint8_t dvc_frame_write_check(dvc_t dvc, dvc_cmd_t cmd, uint8_t *buffer, uint8_t size);

#endif // __DVC_CMD_FRAME_H__
